#pragma once

#include <windows.h>
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glu.h>

using System::Windows::Forms::Control;
using System::Windows::Forms::NativeWindow;

public ref class OpenGLContext abstract : public System::Windows::Forms::UserControl
{
protected:
	HDC   _device;
	HGLRC _context;

public:
	OpenGLContext();

	virtual void Draw() = 0;

protected:
	virtual void OnHandleCreated(System::EventArgs^ e) override;

	virtual void InitGL();

	virtual void OnInitialized() {};
};

